package com.ys.erp.entity.data.bean;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * @author lwj
 * @date 2025/5/26
 */
    
@Data
@TableName(value = "t_order_after_sale")
public class OrderAfterSale {
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 发起人id
     */
    @TableField(value = "apply_emp_id")
    private Long applyEmpId;

    /**
     * 订单id
     */
    @TableField(value = "order_id")
    private Long orderId;

    /**
     * 订单号
     */
    @TableField(value = "order_serial_no")
    private String orderSerialNo;

    /**
     * 用户id
     */
    @TableField(value = "user_id")
    private Long userId;

    /**
     * 售后类型，0仅退款，1：退货退款
     */
    @TableField(value = "after_sale_type")
    private Integer afterSaleType;

    /**
     * 订单商品id
     */
    @TableField(value = "order_goods_id")
    private Long orderGoodsId;

    /**
     * 售后状态：0待审核，1：待买家处理，2：待卖家处理，3：已完成
     */
    @TableField(value = "after_sale_status")
    private Integer afterSaleStatus;

    /**
     * 是否同意售后
     */
    @TableField(value = "is_agree_after_sale")
    private Integer isAgreeAfterSale;

    /**
     * 拒绝原因
     */
    @TableField(value = "reject_remark")
    private String rejectRemark;

    /**
     * 发起售后时间
     */
    @TableField(value = "after_sale_time")
    private LocalDateTime afterSaleTime;

    /**
     * 审核通过时间
     */
    @TableField(value = "pass_time")
    private LocalDateTime passTime;

    /**
     * 买家处理完成时间
     */
    @TableField(value = "user_dispose_time")
    private LocalDateTime userDisposeTime;

    /**
     * 商家处理时间
     */
    @TableField(value = "bus_dispose_time")
    private LocalDateTime busDisposeTime;

    /**
     * 完成时间
     */
    @TableField(value = "ok_time")
    private LocalDateTime okTime;

    /**
     * 取消时间
     */
    @TableField(value = "cancel_time")
    private LocalDateTime cancelTime;

    /**
     * 0：未收到货，1：已收到货
     */
    @TableField(value = "goods_status")
    private Integer goodsStatus;

    /**
     * 退款原因
     */
    @TableField(value = "reject_reason")
    private String rejectReason;

    /**
     * 退款微信金额
     */
    @TableField(value = "reject_wx_money")
    private Long rejectWxMoney;

    /**
     * 退款幺币金额
     */
    @TableField(value = "reject_ys_money")
    private Long rejectYsMoney;

    /**
     * 申请退款金额 单位：分
     */
    @TableField(value = "reject_money")
    private Long rejectMoney;

    /**
     * 实际退款
     */
    @TableField(value = "actual_reject_money")
    private Long actualRejectMoney;

    /**
     * 退款记录id
     */
    @TableField(value = "refund_record_id")
    private String refundRecordId;

    /**
     * 用户备注
     */
    @TableField(value = "reject_user_remark")
    private String rejectUserRemark;

    /**
     * 用户联系方式
     */
    @TableField(value = "user_phone")
    private String userPhone;

    /**
     * 用户拍摄凭证， json数组格式
     */
    @TableField(value = "user_voucher")
    private String userVoucher;

    /**
     * 退货快递单号
     */
    @TableField(value = "express_id")
    private String expressId;

    /**
     * 退货快递名字
     */
    @TableField(value = "express_name")
    private String expressName;

    /**
     * 商家是否收到货
     */
    @TableField(value = "is_bus_ok_delivery")
    private Integer isBusOkDelivery;

    /**
     * 商家收货时间
     */
    @TableField(value = "bus_ok_delivery_time")
    private LocalDateTime busOkDeliveryTime;

    /**
     * 商家收货人姓名
     */
    @TableField(value = "bus_delivery_name")
    private String busDeliveryName;

    /**
     * 商家收货人联系方式
     */
    @TableField(value = "bus_delivery_phone")
    private String busDeliveryPhone;

    /**
     * 商家收货省
     */
    @TableField(value = "bus_delivery_province")
    private String busDeliveryProvince;

    /**
     * 商家收货市
     */
    @TableField(value = "bus_delivery_city")
    private String busDeliveryCity;

    /**
     * 商家收货区
     */
    @TableField(value = "bus_delivery_district")
    private String busDeliveryDistrict;

    /**
     * 商家收货详细地址
     */
    @TableField(value = "bus_delivery_detail")
    private String busDeliveryDetail;

    /**
     * 是否删除
     */
    @TableField(value = "is_delete")
    private Integer isDelete;

    @TableField(value = "version")
    @Version
    private Integer version;

    @TableField(value = "create_time")
    private LocalDateTime createTime;

    @TableField(value = "update_time", update = "now()")
    private LocalDateTime updateTime;
}